package com.ly.heart.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 金蝶-收料通知单对象 erp_king_receive_notice_info
 *
 * @author cxl
 * @date 2024-08-09
 */
@TableName ("erp_king_receive_notice_info")
@ApiModel (value = "金蝶-收料通知单", description = "金蝶-收料通知单")
@Data
@Accessors(chain = true)
public class KingReceiveNoticeEntity{

    /** 主键id */
    @TableId (type = IdType.INPUT)
    private String id;

    /** 单据类型（单据类型接口） */
    @TableField ("doc_type")
    @ApiModelProperty ("单据类型")
    @Excel (name = "单据类型")
    private String docType;

    /** 收料组织(子公司列表，走接口) */
    @ApiModelProperty ("收料组织(子公司列表，走接口)")
    @TableField ("receive_org")
    @Excel (name = "收料组织(子公司列表，走接口)")
    private String receiveOrg;

    /** 收料组织编码 */
    @ApiModelProperty ("收料组织编码")
    @TableField ("receive_org_code")
    @Excel (name = "收料组织编码")
    private String receiveOrgCode;

    /** 采购组织(子公司列表，走接口) */
    @ApiModelProperty ("采购组织(子公司列表，走接口)")
    @TableField ("purchase_org")
    @Excel (name = "采购组织(子公司列表，走接口)")
    private String purchaseOrg;

    /** 采购组织code */
    @ApiModelProperty ("采购组织code")
    @TableField ("purchase_org_code")
    @Excel (name = "采购组织code")
    private String purchaseOrgCode;

    /** 业务类型 */
    @ApiModelProperty ("业务类型")
    @TableField ("doc_business_type")
    @Excel (name = "业务类型")
    private String docBusinessType;

    /** 收料部门(部门列表，走接口) */
    @ApiModelProperty ("收料部门(部门列表，走接口)")
    @TableField ("receive_dept")
    @Excel (name = "收料部门(部门列表，走接口)")
    private String receiveDept;

    /** 收料部门code */
    @ApiModelProperty ("收料部门code")
    @TableField ("receive_dept_code")
    @Excel (name = "收料部门code")
    private String receiveDeptCode;

    /** 采购部门(部门列表，走接口) */
    @ApiModelProperty ("采购部门(部门列表，走接口)")
    @TableField ("purchase_dept")
    @Excel (name = "采购部门(部门列表，走接口)")
    private String purchaseDept;

    /** 采购部门code */
    @ApiModelProperty ("采购部门code")
    @TableField ("purchase_dept_code")
    @Excel (name = "采购部门code")
    private String purchaseDeptCode;

    /** 单据编号 */
    @ApiModelProperty ("单据编号")
    @TableField ("doc_code")
    @Excel (name = "单据编号")
    private String docCode;

    /** 库存组（编码） */
    @TableField ("inventory_group")
    @ApiModelProperty ("库存组（编码）")
    @Excel (name = "库存组")
    private String inventoryGroup;

    /** 采购组（编码） */
    @TableField ("purchase_group")
    @ApiModelProperty ("采购组（编码）")
    @Excel (name = "采购组")
    private String purchaseGroup;

    /** 收料日期 */
    @ApiModelProperty ("收料日期")
    @TableField ("receive_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "收料日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date receiveTime;

    /** 收料员 */
    @ApiModelProperty ("收料员")
    @TableField ("receive_by")
    @Excel (name = "收料员")
    private String receiveBy;

    /** 采购员 */
    @ApiModelProperty ("采购员")
    @TableField ("purchase_by")
    @Excel (name = "采购员")
    private String purchaseBy;

    /** 单据状态 */
    @ApiModelProperty ("单据状态")
    @TableField ("doc_status")
    @Excel (name = "单据状态")
    private String docStatus;

    /** 需求组织 */
    @ApiModelProperty ("需求组织")
    @TableField ("require_dept")
    @Excel (name = "需求组织")
    private String requireDept;

    /** 需求组织编码 */
    @ApiModelProperty ("需求组织编码")
    @TableField ("require_dept_code")
    @Excel (name = "需求组织编码")
    private String requireDeptCode;

    /** 供应商id(供应商列表，走接口) */
    @ApiModelProperty ("供应商id(供应商列表，走接口)")
    @TableField ("supplier_id")
    @Excel (name = "供应商id(供应商列表，走接口)")
    private String supplierId;

    /** 供应商code */
    @ApiModelProperty ("供应商code")
    @TableField ("supplier_code")
    @Excel (name = "供应商code")
    private String supplierCode;

    /** 验收方式(数量验收；金额验收；比例验收) */
    @ApiModelProperty ("验收方式(数量验收；金额验收；比例验收)")
    @TableField ("check_method")
    @Excel (name = "验收方式(数量验收；金额验收；比例验收)")
    private String checkMethod;

    /** 供货方id (供应商列表接口) */
    @ApiModelProperty ("供货方id (供应商列表接口)")
    @TableField ("provider_id")
    @Excel (name = "供货方id (供应商列表接口)")
    private String providerId;

    /** 供货方编码 */
    @ApiModelProperty ("供货方编码")
    @TableField ("provider_code")
    @Excel (name = "供货方编码")
    private String providerCode;

    /** 供货方联系人(供应商联系人列表接口) */
    @ApiModelProperty ("供货方联系人(供应商联系人列表接口)")
    @TableField ("provider_contacts")
    @Excel (name = "供货方联系人(供应商联系人列表接口)")
    private String providerContacts;

    /** 供货方地址 */
    @ApiModelProperty ("供货方地址")
    @TableField ("provider_address")
    @Excel (name = "供货方地址")
    private String providerAddress;

    /** 结算方id(供应商列表接口) */
    @ApiModelProperty ("结算方id(供应商列表接口)")
    @TableField ("balance_id")
    @Excel (name = "结算方id(供应商列表接口)")
    private String balanceId;

    /** 结算方编码 */
    @ApiModelProperty ("结算方编码")
    @TableField ("balance_code")
    @Excel (name = "结算方编码")
    private String balanceCode;

    /** 收款方id(供应商列表接口) */
    @ApiModelProperty ("收款方id(供应商列表接口)")
    @TableField ("receive_id")
    @Excel (name = "收款方id(供应商列表接口)")
    private String receiveId;

    /** 邮箱 */
    @ApiModelProperty ("邮箱")
    @TableField ("email")
    @Excel (name = "邮箱")
    private String email;

    /** 收款方编码 */
    @ApiModelProperty ("收款方编码")
    @TableField ("receive_code")
    @Excel (name = "收款方编码")
    private String receiveCode;

    /** 结算组织 */
    @ApiModelProperty ("结算组织")
    @TableField ("balance_org")
    @Excel (name = "结算组织")
    private String balanceOrg;

    /** 结算组织编码 */
    @ApiModelProperty ("结算组织编码")
    @TableField ("balance_org_code")
    @Excel (name = "结算组织编码")
    private String balanceOrgCode;

    /** 货主类型 */
    @ApiModelProperty ("货主类型")
    @TableField ("cargo_owner_type")
    @Excel (name = "货主类型")
    private String cargoOwnerType;

    /** 结算方式(结算方式code) */
    @ApiModelProperty ("结算方式(结算方式code)")
    @TableField ("settlement_method")
    @Excel (name = "结算方式(结算方式code)")
    private String settlementMethod;

    /** 货主 */
    @ApiModelProperty ("货主")
    @TableField ("cargo_owner")
    @Excel (name = "货主")
    private String cargoOwner;

    /** 结算币别(币别表code) */
    @ApiModelProperty ("结算币别(币别表code)")
    @TableField ("settlement_currency")
    @Excel (name = "结算币别(币别表code)")
    private String settlementCurrency;

    /** 付款条件(付款条件表code) */
    @ApiModelProperty ("付款条件(付款条件表code)")
    @TableField ("term_of_payment")
    @Excel (name = "付款条件(付款条件表code)")
    private String termOfPayment;

    /** 整单折扣额 */
    @ApiModelProperty ("整单折扣额")
    @TableField ("whole_discount_amount")
    @Excel (name = "整单折扣额")
    private String wholeDiscountAmount;

    /** 创建人 */
    @ApiModelProperty ("创建人")
    @TableField ("create_name")
    @Excel (name = "创建人")
    private String createName;

    /** 创建时间 */
    @ApiModelProperty ("创建时间")
    @TableField ("create_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createTime;

    /** 最后修改人 */
    @ApiModelProperty ("最后修改人")
    @TableField ("last_update_name")
    @Excel (name = "最后修改人")
    private String lastUpdateName;

    /** 最后修改日期 */
    @ApiModelProperty ("最后修改日期")
    @TableField ("last_update_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "最后修改日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdateTime;

    /** 审核人 */
    @ApiModelProperty ("审核人")
    @TableField ("examine_name")
    @Excel (name = "审核人")
    private String examineName;

    /** 审核日期 */
    @ApiModelProperty ("审核日期")
    @TableField ("examine_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date examineTime;

    /** 作废状态 */
    @ApiModelProperty ("作废状态")
    @TableField ("invalid_state")
    @Excel (name = "作废状态")
    private String invalidState;

    /** 作废人 */
    @ApiModelProperty ("作废人")
    @TableField ("invalid_name")
    @Excel (name = "作废人")
    private String invalidName;

    /** 作废日期 */
    @ApiModelProperty ("作废日期")
    @TableField ("invalid_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "作废日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date invalidTime;

    /** 确认状态 */
    @ApiModelProperty ("确认状态")
    @TableField ("confirm_state")
    @Excel (name = "确认状态")
    private String confirmState;

    /** 确认人 */
    @ApiModelProperty ("确认人")
    @TableField ("confirm_name")
    @Excel (name = "确认人")
    private String confirmName;

    /** 确认日期 */
    @ApiModelProperty ("确认日期")
    @TableField ("confirm_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "确认日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date confirmTime;

    /** 录入人 */
    @ApiModelProperty ("录入人")
    @TableField ("user_id")
    @Excel (name = "录入人")
    private String userId;

    /** 修改人 */
    @ApiModelProperty ("修改人")
    @TableField ("update_by")
    @Excel (name = "修改人")
    private String updateBy;

    /** 变更日期 */
    @ApiModelProperty ("变更日期")
    @TableField ("update_time")
    @JsonFormat( pattern = "yyyy-MM-dd HH:mm:ss" )
    @Excel (name = "变更日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateTime;

    /** 逻辑删除 */
    @TableLogic
    @ApiModelProperty ("逻辑删除")
    @TableField ("is_used")
    @Excel (name = "逻辑删除")
    private Integer isUsed;

    /** 是否发送金蝶；1：是；2：否 */
    @ApiModelProperty ("是否发送金蝶；1：是；2：否")
    @TableField ("is_send")
    @Excel (name = "是否发送金蝶；1：是；2：否")
    private Integer isSend;

    /** 流程实例id */
    @ApiModelProperty ("流程实例id")
    @TableField ("instance_id")
    @Excel (name = "流程实例id")
    private String instanceId;

    /** 流程状态 */
    @ApiModelProperty ("流程状态")
    @TableField ("state")
    @Excel (name = "流程状态")
    private String state;

    @ApiModelProperty("业务type")
    @TableField (exist = false)
    private String businessType;

    @ApiModelProperty("流程模型id")
    @TableField (exist = false)
    private String modelId;

    @ApiModelProperty("物流跟踪信息")
    @TableField(exist = false)
    private List<KingReceiveNoticeLogisticsEntity> logisticsList;

    @ApiModelProperty("物料明细信息")
    @TableField(exist = false)
    private List<KingReceiveNoticeMaterialEntity> materialLists;



    @ApiModelProperty("收料组织名称")
    @TableField(exist = false)
    private String receiveOrgName;

    @ApiModelProperty("采购组织名称")
    @TableField(exist = false)
    private String purchaseOrgName;

    @ApiModelProperty("收料部门名称")
    @TableField(exist = false)
    private String receiveDeptName;

    @ApiModelProperty("采购部门名称")
    @TableField(exist = false)
    private String purchaseDeptName;

    @ApiModelProperty("库存组名称")
    @TableField(exist = false)
    private String inventoryGroupName;

    @ApiModelProperty("采购组名称")
    @TableField(exist = false)
    private String purchaseGroupName;

    @ApiModelProperty("收料员名称")
    @TableField(exist = false)
    private String receiveByName;

    @ApiModelProperty("采购员名称")
    @TableField(exist = false)
    private String purchaseByName;

    @ApiModelProperty("供应商名称")
    @TableField(exist = false)
    private String supplierName;

    @ApiModelProperty("供货方名称")
    @TableField(exist = false)
    private String providerName;

    @ApiModelProperty("供货方联系人名称")
    @TableField(exist = false)
    private String providerContactsName;

    @ApiModelProperty("结算方名称")
    @TableField(exist = false)
    private String balanceName;

    @ApiModelProperty("收款方名称")
    @TableField(exist = false)
    private String receiveName;

    @ApiModelProperty("结算组织名称")
    @TableField(exist = false)
    private String balanceOrgName;

    @ApiModelProperty("结算方式名称")
    @TableField(exist = false)
    private String settlementMethodName;

    @ApiModelProperty("结算币别名称")
    @TableField(exist = false)
    private String settlementCurrencyName;

    @ApiModelProperty("付款条件名称")
    @TableField(exist = false)
    private String termOfPaymentName;




}
